{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "dd6d001a",
   "metadata": {},
   "outputs": [
    {
     "ename": "ModuleNotFoundError",
     "evalue": "No module named 'jmcomic'",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mModuleNotFoundError\u001b[0m                       Traceback (most recent call last)",
      "Cell \u001b[0;32mIn[1], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;21;01mjmcomic\u001b[39;00m  \u001b[38;5;66;03m# 导入此模块，需要先安装\u001b[39;00m\n\u001b[1;32m      3\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mimage_id.txt\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mr\u001b[39m\u001b[38;5;124m'\u001b[39m, encoding\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mutf-8\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[1;32m      4\u001b[0m     car_ids \u001b[38;5;241m=\u001b[39m [line\u001b[38;5;241m.\u001b[39mstrip()\u001b[38;5;241m.\u001b[39msplit(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m\"\u001b[39m)[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m f \u001b[38;5;28;01mif\u001b[39;00m line\u001b[38;5;241m.\u001b[39mstrip()]\n",
      "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'jmcomic'"
     ]
    }
   ],
   "source": [
    "import jmcomic  # 导入此模块，需要先安装\n",
    "\n",
    "with open(\"image_id.txt\", 'r', encoding='utf-8') as f:\n",
    "    car_ids = [line.strip().split(\",\")[0] for line in f if line.strip()]\n",
    "option = jmcomic.create_option_by_file('options.yml')\n",
    "\n",
    "jmcomic.download_album(car_ids,option)  # 传入要下载的album的id，即可下载整个album到本地."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "96304ce3",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[0;93m2025-07-08 14:16:55.010834504 [W:onnxruntime:, session_state.cc:1166 VerifyEachNodeIsAssignedToAnEp] Some nodes were not assigned to the preferred execution providers which may or may not have an negative impact on performance. e.g. ORT explicitly assigns shape related ops to CPU to improve perf.\u001b[m\n",
      "\u001b[0;93m2025-07-08 14:16:55.010867347 [W:onnxruntime:, session_state.cc:1168 VerifyEachNodeIsAssignedToAnEp] Rerunning with verbose output on a non-minimal build will show node assignments.\u001b[m\n"
     ]
    }
   ],
   "source": [
    "import cv2\n",
    "import av\n",
    "import av.datasets\n",
    "\n",
    "import subprocess\n",
    "import sys\n",
    "import os\n",
    "import hashlib\n",
    "from pathlib import Path\n",
    "from glob import glob\n",
    "from tqdm import tqdm\n",
    "from decord import VideoReader\n",
    "from decord import cpu, gpu\n",
    "\n",
    "# 添加 DWPose 模块路径\n",
    "sys_path_inserted = False\n",
    "try:\n",
    "    from DWPose.inference import get_pose\n",
    "except ImportError:\n",
    "    # 如果未找到模块，则临时添加上层目录\n",
    "    sys.path.append(\"../..\")\n",
    "    from DWPose.inference import get_pose\n",
    "    sys_path_inserted = True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "38739446",
   "metadata": {},
   "outputs": [],
   "source": [
    "#=========================================下载视频========================================\n",
    "# 配置部分（根据你的实际情况修改）\n",
    "video_list_file = \"video_id.txt\"       # 包含BV号的txt文件路径\n",
    "yt_dlp_path = \"yt-dlp\"          # yt-dlp.exe 的路径\n",
    "base_url = \"https://www.bilibili.com/video/\"\n",
    "\n",
    "\n",
    "# 读取BV号文件\n",
    "try:\n",
    "    with open(video_list_file, 'r', encoding='utf-8') as f:\n",
    "        bvs = [line.strip().split(\",\")[0] for line in f if line.strip()]\n",
    "except FileNotFoundError:\n",
    "    print(f\"❌ 视频列表文件 {video_list_file} 未找到！\")\n",
    "    exit(1)\n",
    "\n",
    "# 批量下载\n",
    "for bv in bvs:\n",
    "    url = f\"{base_url}{bv}\"\n",
    "    print(f\"\\n📥 正在下载：{url}\")\n",
    "    try:\n",
    "        command = [\n",
    "                yt_dlp_path,\n",
    "                url,\n",
    "                '-o', f\"{bv}.%(ext)s\",\n",
    "                '>','log-video-dl.txt'\n",
    "            ]\n",
    "        result = subprocess.run(command, check=True)\n",
    "    except subprocess.CalledProcessError as e:\n",
    "        print(f\"⚠️ 下载失败：{url}，错误代码：{e.returncode}\")\n",
    "    except Exception as e:\n",
    "        print(f\"❌ 执行出错：{e}\")\n",
    "\n",
    "print(\"\\n✅ 所有视频下载完成！\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "b2837d98",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "because of only one, candidate shape:(1, 134, 2)->\n",
      "(1, 134, 2)\n",
      "because of only one, subset shape:(1, 134)->\n",
      "(1, 134)\n",
      "[[0.89381754 1.         0.70467651 0.68416137 0.70912921 0.58304989\n",
      "  0.36010724 0.45453808 0.52296984 0.76404846 0.3211962  0.64984655\n",
      "  0.75576901 0.7135455  0.90706468 0.89763534 0.73154366 0.83602291]]\n",
      "[[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9. 10. 11. 12. 13. 14. 15. 16. 17.]]\n"
     ]
    },
    {
     "data": {
      "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAMAAwADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD5/ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAop7xSIAWRlB9RTMHGccetXOnODtNNMV0woooqBhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABT4nCSoxGQDmmUVdObpzU47rUGrm2QksfI3IwplwY0t2DAbcYA/lilgVVgQL025qle3BcmEKVAPOe9fqWZ46GGwPt6qXPONtr3bW3pvuc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VrTr59N1GC7jGWibJH94dCPxGRXPiqPtqTh1Mq9P2kHE7bxzZGbS4btQSbd8NyMBWwM/mF/OvP69Z1GFNW0GdIV81Z4N8Qzt3HGV64xzjrXk1cmV1L0nB9H/AF+pz4KV4OL6BRRRXpnaFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBNaXLWl3FcKAxjYHB7juK6TU9fjk04i0EiySAfMQBsGf5/T161ytXIhvtwG7jFdeCwFLGVGpX5oq69fM7sPmuJwdGdGk7Rnv8A8D5FOilIIJB6ikrlaadmcIUUUUgCiiigAooooAKKKKACiiigAooooA9F+Hb3GpWs9ht/dWxDCUkYUMT8uOpOQx/PpxnjvEGg3Xh3VGsblkclQ8ciHh0JIBx26EY9vTmu9+Giz2Ok3FxKzGC5kBjjzwNuQWHPUnjoPuiuK8UeJZ/E2opcSReRDEmyOEOWC9ye3JPcAcAeleNhpVHj6qglydfX/h7nkUli1j5+6vZNfj+d738jDooor2T1wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACrVqRsI75qrU9qfmYeozXo5TPlxcfO6/Aifwjbhdsp9+aiq1dLlA3oaq1OZUfZYmS76/eODugooorgKCiiigAooooAKKKKACiiigAqzp1k+o6jb2abgZpAmVXdtHc49hk/hVau6+Hulo7XGqSbWKHyYh12nALHpxwQAQe7VzYuv7CjKf9XJk7K50niF49L8I3aQxfuktxAibugbCDnnpn9K8hr0L4i3qLZ2diNpd5DMfm5UAEDj33Hn/ZNee1yZTTcaHO95MmmtAooor1DQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAp8JxMp98UyjODkVpSn7OpGfZpiaui/Iu6NhjPFUK0AQQCOhqlKu2Vh7172e0k1CsvT9V+pnSfQZRRRXzpqFFFFABRRRQAUUUUAFFFFADkR5ZFjjRndiFVVGSSegAr2nSLAaZpFrZgKDFGA+0kgt1YjPqSTXm3gvTWv/ABBFKybobX965OQMj7vI75wcegNek6vfjTNIurwlQYoyU3AkFuig49SQK8DN6jnUjQj/AE3t/XmY1Hd2PMPF1+b/AMSXRy2yA+QgYAY28Hp/tbj+NYdFFe3SpqnBQXQ1SsrBRRRWgwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigC7A26Ic8jiobpcOG9RS2rfeXPuKfcrmLPoa+nn/ALTll+qX5f8AAMVpMqUUUV8wbBRRRQAUUUUAFFFFABRRUkEMlzcRwQrullcIi5xkk4AobtqwPSfANgLfQ2uyF33UhOQT91eACPru/OqnxC1MJbW+mIzB5D50mCR8oyAD65OT7bfpXYWtulnZwW0ZYpDGsalupAGBmvIvEepjVtcubpGYw52RZJPyjgEZ6Z5OPevnMEvrOMlWey1/y/ryMIe9K5lUUUV9GbhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBJA22Uc8HirbjdGwxnIqhnByK0AdygjuM19Jks1OlOjL+rmNRWaZn0U5xtkYYxg02vnZxcZOL6GwUUUVIBRRRQAUUUUAFdL4G0/7Z4gWZ1zFaoZDlNwLdFGex5yP92uar0f4eWflaVc3ZDhp5doyOCqjgj8WYfhXDmNX2eGk1u9PvIm7RNfxXqTaX4fuJY32TSYiiPOcnrgjoQNxB9RXkNdP461M3uuG1VlMNoNg2kHLHBY/yGP8AZrmKjLMP7Kgm95a/5BTVkFFFFeiWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVu3bMWPQ1Uqa2bEhGeor0sqrezxUfPT+vmRNXiFyMS59RmoasXQ+6cfjVes8yhyYqa87/fqOD90KKKK4Sgoqa3tLi7bbBC8hyAdo4GemT2rUt/DF/LgymOEbsEM2Tj1GOP1rOdWEPiZrToVKnwRbMWiusi8J2wU+dcSu2eCgCjH0Oa0YtE02Fiy2iEkY+clh+RzXNLH0ltqdkMsrS+KyOFiiknmSGGNpJZGCoiDLMTwAAOpr1Yl/CPgm3eeKSOUQApHMMEyv8ANtxx0LcjqAD3FZmia94d0DX7W6kjgIBKmSCMMYgwI3ZX9RycHp0q/wDEzxhomr6FBp2nzLeTNKkxcKwWIbc5zx8x3Yxzj5sgECvNxdWtia9Oj7N8l7tnj432lHExoxXNF7tHlju8sjSSOzuxLMzHJJPUk02iivfNwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClVtrBvQ1MtlcuwUQSZPquB+ZqdNIunzuCJj+83X8s0lVUGpJ6o6IYSvU+GDfyGXHzQhh0yDUNvbzXUoigjaRz2UdPc+g969S07wfpDaJBFPAJ3kjV3mDsCWxnjpgc9MdhnkVz6a3o8C+XFcIqKTgJEwH4DFZ43OoY2q50IO6ST9flfQ7nk8sOovETST/AK62/UyLPwtPIA13KIRn7i/M2O/PQfrWzaaBp9rk+V5zHvNhsD6dP0qlL4stgo8m3lds8hyFGPqM1n3Him8k3CGOOFTjBxuYfieP0rgccXV30X9fM0jPA0dtX9//AADr1VUUKqhVUYAAwAKp3Gr2Fq22W6QNkghcsQR64ziuJuNRvLrcJrmRlbGV3YU49hxVanDL/wCeX3E1M16U4/edNceLPvC2tfTa8jfnkD/GsW81S8vi3nTtsb/lmpwuM56d/wAap0V208PTp/Cjz6uKrVdJS0CiiitjnCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKvaTo+oa5fCy022a4nKltqkAADqSTgAfU9SB3qZSjBOUnZIaTbsijRXR6h4M1TRrzydTjESknY6HcJQDjKn/HkZGRzRDptrCP9WHPTL8//AFqw+t0nHmg7ryPSw+U4isrtcq8zChtLicZjiYjrnoPzNXYtFlZcyyqh9AM/nWy8iRrmR1QdMscVVk1S0jDYkLkcYUHn+lZ+3qS+FHprLMFQ1rzv6u3/AAfxGxaTaxtkqznqN56flVtIo4s+XGiZ67VAzWVLrbHIihA56sc5H0qlLqF1K2TMyjsE4/lR7GrP4mN5jgcPpRjf0X6s35rqC3x5sgUnt1P5Vnza0MYhiOfV/wDAf41j0VrHDQW+p59fOq9TSHur72eiaFqclr4ct7iaVijyAPufCqDJsz6AAHOOBx+Nc54x0v7BrBuEH7m6zIPZv4h19SD+OO1bOqI0fgkI6lWWCEFSMEHK8VemhPifwdE3LXJQOpIAzKuQehA5ww/HNPLUqlOokvtN/kfE/XKirLE1JNpycXdt2T1X6nm9FFFbnvhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU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35jA/OulVLLSLFiqx29vGMsQMe2T3J6e5rJ1bxZaWS+XZlLqfplT8i8cHPf6D35FcVf6jdalcGW5lLckqmflT2A7dBWahUq6y2OSGGxWNfNWdo/10/Vm9rPi6WctBpxMUQJBm/icYxx/d7+/TpXL0UV1QgoKyPboYenQjy01YKKKKo2CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAClALMFUEk8ADvVmwsnvpigbaqjLNjOK0mtoNHBmYPKzEhOPu+2f6/pXoUMurVKP1hq1Nbv/gbhNSUOdK42CzhsIBc3WDIOQPQ+g9T/n3qnfak92NiApF6Z5b6/wCFV7i6lun3StnHQDoKhqK2KXL7KirR/F+phCjrzz1f5BRRRXEbhRRRQAUUUUAFFFFABRWhpmi3urEm3QCNThpHOFBxnHqfw9RXc6V4dstKKyoDLcAY81+2RzgdB/PnrWVStGHqcOKzClh9HrLt/n2OX03wjfXUiNdr9ng4JyRvIPoOx+uMZ79K7Ow0uz02NVtoEVlXaZCBvb6mjUdUtNLhEl1Jt3Z2KBlmIHQD/I5FcfrHi24vMw2O+3g4+fOJD+IPA+np15xXN+8reh5F8XmD7R/D/gnVatrdppEf71t05XckK9W/wHufQ9a4rVPE19qSGLIghyfliJBYHsx78fQH0rGorop0Ix82erhsto0NXq+//ACiiitj0AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAJ7W6ks5vNi25xghhwRT72/kvpFLhVVc7VHbNVaK6FiqyougpPketiuZ2t0CiiiuckKKKKACiiigAoorsPA3gaTxdNPNNO1tY27KHdUy0hPJVSeAcdTzjK8HNXCEpy5Y7nPisVSwtJ1qztFHJRQyTyCOGN5JG6Kikk/gK7HRvCCxFbjUsO4IZYVOVHH8Xrz2HHHfNb2paRpvw/EUU8nmSTRsyTiI7pSMbl7gc44zjp71yt/40uZQUsYRAMn94/wAzEZ446D9etctVVeZwStY8t4uvjo/7IrQf2tr/ANfedbdXtlpdupnljgjAwi+wwMBRzxkdK5TUvGk0uU0+LyV/56SAFu3QdB3Hf8K5iWaSeQyTSPJI3VnYkn8TTKUMPFavU3w+VUqfvVPef4f16iu7SOzuxZ2OWZjkk+ppKKK6D1QooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuw+HXiG80TxB5EAje3vBiaNx12hiCD2PUenPTpjj62fCn/ACMtp/wP/wBAaqjJwfNHc48wpQq4WpCaurP/ADL/AI/1K81PxVLNdgAJEiQgLgBMZ49fmLc89/SuXrp/HKMNXgcqdhgADY4JDNkfqPzrmKUpOTuxZcorC01FWSQUUUUjtCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACtnwp/yMtp/wP8A9Aasatnwp/yMtp/wP/0BqDnxf+71PR/kbPj3/mH/APbT/wBlrja77xyinSIHKjeJwA2OQCrZH6D8q4Gg5cplfCxXa/5hRRRQekFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU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",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwAAAAMACAIAAAAc45fZAABIVElEQVR4Ae3dS3bjyL0nYMqnNtDD23cZlUvwsO+wvATlEnrYnt4lSEtwDd1DLyFrCz2710MvQR0SUxCJZwBEAPH4dPJUkSAQj+9PV/4cAVKXix8CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECA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",
      "text/plain": [
       "<PIL.Image.Image image mode=RGB size=768x768>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pose_img = get_pose(\"/root/SDXL/mydiff/Pose-guided_Human_Image_Animation/data/image_resized/咬一口兔娘ovo cosplay Changli – Wuthering Waves/00017.png\",is_discard=True)  # 返回的是 PIL.Image 对象\n",
    "pose_img.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a1b2b9f2",
   "metadata": {},
   "outputs": [],
   "source": [
    "#=========================================获取frame和pose========================================\n",
    "\n",
    "# ===== 工具函数：为视频生成简短哈希名 =====\n",
    "def get_video_hash(video_path, length=8):\n",
    "    sha = hashlib.sha256()\n",
    "    with open(video_path, \"rb\") as f:\n",
    "        while chunk := f.read(8192):\n",
    "            sha.update(chunk)\n",
    "    return sha.hexdigest()[:length]\n",
    "\n",
    "# ===== 抽帧函数 =====\n",
    "def extract_frames(video_path, frame_output_folder, frame_rate=1):\n",
    "\n",
    "    os.makedirs(frame_output_folder, exist_ok=True)\n",
    "    print(video_path)\n",
    "    with av.open(video_path) as container:\n",
    "        # Signal that we only want to look at keyframes.\n",
    "        stream = container.streams.video[0]\n",
    "        stream.codec_context.skip_frame = \"NONKEY\"\n",
    "\n",
    "        for i, frame in enumerate(container.decode(stream)):\n",
    "            #print(frame)\n",
    "            frame.to_image().save(f\"{frame_output_folder}/frame_{i:05d}.png\")\n",
    "   \n",
    "    \n",
    "    \n",
    "\n",
    "    print(f\"✅ 抽帧完成：{video_path}\")\n",
    "\n",
    "# ===== Pose 识别函数 =====\n",
    "def detect_pose_from_frames(frame_folder, pose_output_folder):\n",
    " \n",
    "    os.makedirs(pose_output_folder, exist_ok=True)\n",
    "\n",
    "    image_paths = glob(os.path.join(frame_folder, \"*.png\"))\n",
    "\n",
    "    for img_path in tqdm(image_paths, desc=\"Pose 识别中\"):\n",
    "        #try:\n",
    "        pose_img = get_pose(img_path)  # 返回的是 PIL.Image 对象\n",
    "        if pose_img is None:\n",
    "            continue\n",
    "        output_path = os.path.join(pose_output_folder, os.path.basename(img_path))\n",
    "        print(output_path)\n",
    "        pose_img.save(output_path)\n",
    "        # except Exception as e:\n",
    "        #     print(f\"⚠️ 处理失败：{img_path}，错误：{e}\")\n",
    "\n",
    "    print(f\"✅ Pose 检测完成：{frame_folder}\")\n",
    "\n",
    "# ===== 主流程：批量处理目录下所有 MP4 文件 =====\n",
    "def process_videos_in_directory(root_video_dir, output_base_dir,skip_exist=True):\n",
    "    video_extensions = ('.mp4', '.MP4')\n",
    "\n",
    "    for path, _, files in os.walk(root_video_dir):\n",
    "    for file in sorted(files):\n",
    "\n",
    "    for path, _, files in os.walk(root_video_dir):\n",
    "        for file in sorted(files):\n",
    "            if file.endswith(video_extensions):\n",
    "                video_path = os.path.join(path, file)\n",
    "\n",
    "                # 为视频生成唯一标识名\n",
    "                video_hash = get_video_hash(video_path)\n",
    "                print(f\"\\n🎥 处理视频：{file} -> hash={video_hash}\")\n",
    "\n",
    "                # 创建帧和 pose 输出目录\n",
    "                frame_output_folder = os.path.join(output_base_dir, \"frames\", video_hash)\n",
    "                pose_output_folder = os.path.join(output_base_dir, \"poses\", video_hash)\n",
    "\n",
    "                # 抽帧（如果目标文件夹存在则跳过）\n",
    "                if os.path.exists(frame_output_folder) and skip_exist==True:\n",
    "                    print(f\"🔁 已存在抽帧结果，跳过：{frame_output_folder}\")\n",
    "                else:\n",
    "                    extract_frames(video_path, frame_output_folder)\n",
    "\n",
    "                # 姿态识别（如果目标文件夹有内容则跳过）\n",
    "                if os.path.exists(pose_output_folder) and skip_exist==True:\n",
    "                    print(f\"🔁 已存在 Pose 数据，跳过：{pose_output_folder}\")\n",
    "                else:\n",
    "                    detect_pose_from_frames(frame_output_folder, pose_output_folder)\n",
    "                    \n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    # 设置输入和输出路径\n",
    "    root_video_dir = \"videos\"           # 存放 .mp4 视频的根目录\n",
    "    root_image_dir=\"image_resized\"\n",
    "    output_base_dir = \"output/\"          # 输出结果主目录\n",
    "\n",
    "    process_videos_in_directory(root_video_dir, root_image_dir,output_base_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f2c2d30b",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "flowers",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
